#include <string>
#include <sstream>
#include <list>
#include <vector>
#include <map>
#include <stack>

#include "../Helix.h"
#include "../HObject.h"
#include "XMLUtil.h"
#include "XMLParser.h"
#include "../util/StringUtil.h"

/*

using namespace std;

namespace helix
{

	XMLStringParser::XMLStringParser(string xmlText) : HObject()
	{
		int i=0;
		string curWord="";
		root = XMLNode();

		root.setTagName("root");
		root.setValue(xmlText);

		parseChildren(&root);

	}


	//Searches the value of a XML element for child xml elements and converts the value
	//to the DOM structure (using a stack)
	void XMLStringParser::parseChildren(XMLNode *node)
	{
		string value=StringUtil::trim(node->getValue());	//Get the value of this node but trim the whitespace characters at the beginning and the end

		unsigned int pos = 0;

		XMLNode *curNode = node;

		stack<XMLNode*> = stack<XMLNode*>();

		//Check the entire value string for elements
		while(pos < value.length())
		{
			unsigned int elmStart = value.find('<',pos);
			

		}


	}

	XMLStringParser::~XMLStringParser()
	{

	}


	XMLNode XMLStringParser::getRoot()
	{

	}

	string XMLStringParser::getXMLText()
	{

	}


/*
	class XMLFileReader : public HObject
	{
	private:
		XMLStringParser parser;		    //the root of the resulting xml document once it has been read in
		string fileName;

	public:
		XMLFileReader(string fileName);
		~XMLFileReader();

		XMLNode getRoot();
		XMLStringParser getParser();
	};
*/


//}

